package com.government.wxpay.service;

import com.government.member.domain.VipOrder;
import com.government.wxpay.bo.PaymentBO;
import com.government.wxpay.vo.NativeResponseVO;
import com.wechat.pay.java.service.payments.jsapi.model.PrepayWithRequestPaymentResponse;

import javax.servlet.http.HttpServletRequest;
import java.io.IOException;

public interface WxPayService {

    PrepayWithRequestPaymentResponse prepay(PaymentBO bo);

    NativeResponseVO nativePrepay(PaymentBO bo);

    void nativePrepayNotice(HttpServletRequest request) throws IOException;

    void jsapiPrepayNotice(HttpServletRequest request) throws IOException;

    com.wechat.pay.java.service.payments.model.Transaction nativePayStatus(String outTradeNo);

    com.wechat.pay.java.service.payments.model.Transaction jsapiPayStatus(String outTradeNo);

    void vipInfoHandler(VipOrder vipOrder);

    void closeJsapiPrepay(String outTradeNo);

    void closeNativePrepay(String outTradeNo);
}
